﻿namespace hCommand {
    /**
	 *┌────────────────────────────────────────────────┐
	 *│　描    述：ShelfDto                                                    
	 *│　作    者：jf                                              
	 *│　版    本：1.0                                              
	 *│　创建时间：2020-9-16 16:40:38                        
	 *└────────────────────────────────────────────────┘
	 **/
    public class ShelfDto<CSD> where CSD : AbsCoreStockDetail {
        public int scr;
        public LocStockDto<CSD> shallow { get; set; }
        public LocStockDto<CSD> deep { get; set; }
        /// <summary>
        /// 1 浅货位空闲 2相同,3 不同,需要移库,4 浅货位时，深货位不是
        /// </summary>
        public ShelfStatus shallowStatus { get; set; }
        public bool add(CSD csd) {
            if( deep.locId == csd.rLocId ) {
                deep.stockDetails.Add(csd);
                return true;
            }
            if( shallow.locId == csd.rLocId ) {
                shallow.stockDetails.Add(csd);
                return true;
            }
            return false;
        }
    }
    public enum ShelfStatus {
        noUse = 0,//浅货位时，深货位不是
        ShallowUseOnly = 1,//浅货位时，深货位不是
        ShallowFreeDeepUse,//浅货位空闲
        Same,//相同
        ShallowMove//不同,需要移库
    }
}
